//描述
/*给定一个十进制整数N，求其对应2进制数中1的个数
输入
第一个整数表示有N组测试数据，其后N行是对应的测试数据，每行为一个整数。
输出
N行，每行输出对应一个输入。
*/

#include <iostream>
# include <stdio.h>

using namespace std;

int main()
{
    int N,i,n,r,count;

    scanf("%d",&N);

    for(i=0;i<N;i++)
    {
        scanf("%d",&n);

        count=0;

        if(n==0)
            printf("%d\n",count);
        else
        {
            do
            {
                r=n%2;
                if(r==1&&n!=1)
                    count++;
                if(n!=1)
                    n=n/2;

            }while(n!=1);

            printf("%d\n",count+1);
        }

    }
    return 0;
}

// Accepted
